<?php

namespace app\admin\pattern\strategy\login;

use app\admin\interface\LoginStrategy;

/**
 * EmailLogin类通过电子邮件方式实现用户登录功能
 * 该类实现了LoginInterface接口，定义了登录功能的实现方法
 */
class EmailLogin implements LoginStrategy
{
	use LoginTrait;
	/**
	 * 用户登录函数
	 *
	 * 该函数从请求中获取用户提供的电子邮件和密码参数，
	 * 并验证这些参数以完成用户登录过程
	 *
	 * @return array 返回登录操作的结果数组
	 */
	public function login(): array
	{
	    // 获取用户输入的电子邮件地址
	    $email = request()->param('sign');
	    // 获取用户输入的密码
	    $password = request()->param('password');
	    // 执行登录操作，验证用户提供的电子邮件和密码
	    return $this->doPasswordLogin($email, $password, 'email');
	}
}
